/*
 * Licensed to Elasticsearch B.V. under one or more contributor
 * license agreements. See the NOTICE file distributed with
 * this work for additional information regarding copyright
 * ownership. Elasticsearch B.V. licenses this file to you under
 * the Apache License, Version 2.0 (the "License"); you may
 * not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
// ███╗   ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
// ████╗  ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
// ██╔██╗ ██║██║   ██║   ██║   ██║██║     █████╗  
// ██║╚██╗██║██║   ██║   ██║   ██║██║     ██╔══╝  
// ██║ ╚████║╚██████╔╝   ██║   ██║╚██████╗███████╗
// ╚═╝  ╚═══╝ ╚═════╝    ╚═╝   ╚═╝ ╚═════╝╚══════╝
// -----------------------------------------------
//  
// This file is automatically generated 
// Please do not edit these files manually
// Run the following in the root of the repos:
//
// 		*NIX 		:	./build.sh codegen
// 		Windows 	:	build.bat codegen
//
// -----------------------------------------------
// ReSharper disable RedundantUsingDirective
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Linq.Expressions;
using Elastic.Transport;

// ReSharper disable once CheckNamespace
namespace Elasticsearch.Net.Specification.IndexLifecycleManagementApi
{
	///<summary>Request options for DeleteLifecycle <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-delete-lifecycle.html</para></summary>
	public class DeleteLifecycleRequestParameters : RequestParameters<DeleteLifecycleRequestParameters>
	{
	}

	///<summary>Request options for ExplainLifecycle <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-explain-lifecycle.html</para></summary>
	public class ExplainLifecycleRequestParameters : RequestParameters<ExplainLifecycleRequestParameters>
	{
		///<summary>filters the indices included in the response to ones in an ILM error state, implies only_managed</summary>
		public bool? OnlyErrors
		{
			get => Q<bool? >("only_errors");
			set => Q("only_errors", value);
		}

		///<summary>filters the indices included in the response to ones managed by ILM</summary>
		public bool? OnlyManaged
		{
			get => Q<bool? >("only_managed");
			set => Q("only_managed", value);
		}
	}

	///<summary>Request options for GetLifecycle <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-get-lifecycle.html</para></summary>
	public class GetLifecycleRequestParameters : RequestParameters<GetLifecycleRequestParameters>
	{
	}

	///<summary>Request options for GetStatus <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-get-status.html</para></summary>
	public class GetIlmStatusRequestParameters : RequestParameters<GetIlmStatusRequestParameters>
	{
	}

	///<summary>Request options for MoveToStep <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-move-to-step.html</para></summary>
	public class MoveToStepRequestParameters : RequestParameters<MoveToStepRequestParameters>
	{
	}

	///<summary>Request options for PutLifecycle <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-put-lifecycle.html</para></summary>
	public class PutLifecycleRequestParameters : RequestParameters<PutLifecycleRequestParameters>
	{
	}

	///<summary>Request options for RemovePolicy <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-remove-policy.html</para></summary>
	public class RemovePolicyRequestParameters : RequestParameters<RemovePolicyRequestParameters>
	{
	}

	///<summary>Request options for Retry <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-retry-policy.html</para></summary>
	public class RetryIlmRequestParameters : RequestParameters<RetryIlmRequestParameters>
	{
	}

	///<summary>Request options for Start <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-start.html</para></summary>
	public class StartIlmRequestParameters : RequestParameters<StartIlmRequestParameters>
	{
	}

	///<summary>Request options for Stop <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-stop.html</para></summary>
	public class StopIlmRequestParameters : RequestParameters<StopIlmRequestParameters>
	{
	}
}